Lifetouch note notes
Accessing APX Mode
There’s a unplaced switch just above the Nvidia Tegra 250 CPU shield (see image above). Connect pins 3 and 4 of SW2 while pressing the power button to enable APX mode.
Flashing a partition using nvflash
nvflash –bl /usr/lib/nvflash/fastboot.bin –download 11 ./lubuntu-12.10-preinstalled-desktop-armhf+ac100.bootimg
The Lifetouch note appears to have the LNX partition on partition 11, not 6 as the ac100.
Note: The ac100 bootimage does NOT work. The screen does some funky stuff, but nothing to indicate that it’s actually booting a kernel. (update: The SOSBoot kernel boots and the serial console works, but not the display.)
Partition table
The partition table can be dumped with nvflash –bl
PartitionId=2 Name=BCT DeviceId=18 StartSector=0 NumSectors=1536 BytesPerSector=2048 PartitionId=3 Name=PT DeviceId=18 StartSector=1536 NumSectors=128 BytesPerSector=2048 PartitionId=4 Name=EBT DeviceId=18 StartSector=1664 NumSectors=1024 BytesPerSector=2048 PartitionId=5 Name=NVC DeviceId=18 StartSector=2688 NumSectors=256 BytesPerSector=2048 PartitionId=6 Name=MBR DeviceId=18 StartSector=2944 NumSectors=512 BytesPerSector=2048 PartitionId=7 Name=MSC DeviceId=18 StartSector=3456 NumSectors=1024 BytesPerSector=2048 PartitionId=8 Name=MFG DeviceId=18 StartSector=4480 NumSectors=76800 BytesPerSector=2048 PartitionId=9 Name=SOS DeviceId=18 StartSector=81280 NumSectors=2560 BytesPerSector=2048 PartitionId=10 Name=ER1 DeviceId=18 StartSector=83840 NumSectors=128 BytesPerSector=2048 PartitionId=11 Name=LNX DeviceId=18 StartSector=83968 NumSectors=4096 BytesPerSector=2048 PartitionId=12 Name=ER2 DeviceId=18 StartSector=88064 NumSectors=128 BytesPerSector=2048 PartitionId=13 Name=APP DeviceId=18 StartSector=88192 NumSectors=98304 BytesPerSector=2048 PartitionId=14 Name=ER3 DeviceId=18 StartSector=186496 NumSectors=128 BytesPerSector=2048 PartitionId=15 Name=CAC DeviceId=18 StartSector=186624 NumSectors=76800 BytesPerSector=2048 PartitionId=16 Name=ER4 DeviceId=18 StartSector=263424 NumSectors=128 BytesPerSector=2048 PartitionId=17 Name=USP DeviceId=18 StartSector=263552 NumSectors=128000 BytesPerSector=2048 PartitionId=18 Name=ER5 DeviceId=18 StartSector=391552 NumSectors=128 BytesPerSector=2048 PartitionId=19 Name=UDA DeviceId=18 StartSector=391680 NumSectors=3520000 BytesPerSector=2048
nvflash output
nvflash --bl /usr/lib/nvflash/fastboot.bin --download 11 ./ubuntu-12.04-preinstalled-desktop-armhf+ac100.bootimg
Nvflash started
rcm version 0X20001
System Information:
chip name: t20
chip id: 0x20 major: 1 minor: 3
chip sku: 0x8
chip uid: XXXXXX
macrovision: disabled
hdcp: enabled
sbk burned: false
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0
downloading bootloader -- load address: 0x108000 entry point: 0x108000
sending file: /usr/lib/nvflash/fastboot.bin
| 940112/940112 bytes sent
/usr/lib/nvflash/fastboot.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
sending file: ./ubuntu-12.04-preinstalled-desktop-armhf+ac100.bootimg
/ 8388608/8388608 bytes sent
./ubuntu-12.04-preinstalled-desktop-armhf+ac100.bootimg sent successfully
PCB Images:
Bootable kernel
Kernel from: http://developer.download.nvidia.com/assets/mobile/files/tegra-linux-12.alpha.1.0.tar.gz
Boot image built with: ./bootloader/mkbootimg –kernel ./kernel/zImage –ramdisk NONE -o ~/m.img –cmdline “debug mem=128M”
Update: sosboot and probably other ac100 kernel boot and show data on the serial port.
Serial Port
There’s a 3.3v level serial port located under the SD Card slot (see additional post). No connector is mounted, you’ll need to solder one. The output is as follows:
**********Aos DebugSemiHosting Initialized*******
---------------------------------------------------
ODM CPU freq request beyond SOC limit
ADJUSTED CLOCKS:
MC clock is set to 333000 KHz
EMC clock is set to 666000 KHz (DDR clock is at 333000 KHz)
PLLX0 clock is set to 1000000 KHz
PLLC0 clock is set to 600000 KHz
CPU clock is set to 1000000 KHz
System and AVP clock is set to 240000 KHz
GraphicsHost clock is set to 108000 KHz
3D clock is set to 111000 KHz
2D clock is set to 111000 KHz
Epp clock is set to 111000 KHz
Mpe clock is set to 111000 KHz
Vde clock is set to 240000 KHz
DTT: TMON initialization failed
Bootloader version: eng.NEC.20110609.091639
I2C Slave is *New*
***NVEC:Received Spurious Response from EC.Checking for android ota recovery
OS will cold boot in 0 seconds if no input is detected
Key driver not found.. Booting OS
Cold-booting Linux
Source code
There’s a source code release by NEC. I’ve uploaded it here.
Framebuffer notes
From the NEC source release:
// these values are just defaults. they will be over-written with th
// correct values from the boot args.
.var = {
.xres = 800,
.yres = 480,
.xres_virtual = 800,
.yres_virtual = 480,
.bits_per_pixel = 16,
.red = {11, 5, 0},
.green = {5, 6, 0},
.blue = {0, 5, 0},
.transp = {0, 0, 0},
.activate = FB_ACTIVATE_NOW,
.height = -1,
.width = -1,
.pixclock = 24500,
.left_margin = 0,
.right_margin = 0,
.upper_margin = 0,
.lower_margin = 0,
.hsync_len = 0,
.vsync_len = 0,
.vmode = FB_VMODE_NONINTERLACED,
},
AC100 config, patch to use different display:
--- marvin-2.6.38.8-oc/arch/arm/mach-tegra/board-paz00-panel.c.old 2011-09-19 19:33:24.000000000 +0100
+++ marvin-2.6.38.8-oc/arch/arm/mach-tegra/board-paz00-panel.c 2011-12-29 23:56:45.588167000 +0000
@@ -251,7 +251,7 @@
{
.name = "fbmem",
.start = 0x1fd95000,
- .end = 0x1fd95000 + 0x26B000 - 1, // 2.4 MB @ 509 MB
+ .end = 0x1fd95000 + 0x384000 - 1, // 2.4 MB @ 509 MB
.flags = IORESOURCE_MEM,
},
};
@@ -279,15 +279,15 @@
static struct tegra_dc_mode paz00_panel_modes[] = {
{
- .pclk = 42430000,
+ .pclk = 71735520,
.h_ref_to_sync = 4,
.v_ref_to_sync = 2,
.h_sync_width = 136,
.v_sync_width = 4,
.h_back_porch = 138,
.v_back_porch = 21,
- .h_active = 1024,
- .v_active = 600,
+ .h_active = 1280,
+ .v_active = 720,
.h_front_porch = 34,
.v_front_porch = 4,
},
@@ -295,8 +295,8 @@
static struct tegra_fb_data paz00_fb_data = {
.win = 0,
- .xres = 1024,
- .yres = 600,
+ .xres = 1280,
+ .yres = 720,
.bits_per_pixel = 16,
};






Great work!
I asked NEC Japan to get modified kernel source and sure they have it for Life touch note.
To get source for LTN you must register your product serial number written on the back side of the body at following url.
https://www.nec.co.jp/solution/cloud/communicator/gpl/LifeTouch_NOTE_LTNA7/form.html
They must have one for ac100 outside of Japan. It’s certain you can get the optimized source for your ac100, because they said “yes, it’s the GPL requirement to provide the sources”.
The rep do not know who provide the kernel source for ac100 outside of Japan, so that you have to find out. I heard that they provide sources just for LTN because they don’t sell ac100 in Japan. It’s logical lol.
It’s good to ask your local NEC service reps.
hi,
Yes, I have the source code now! I put the kernel source up on my github account at http://github.com/new299